package com.company.pedidos.repository;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;

import com.company.domain.repository.BaseRepository;
import com.company.pedidos.domain.Pedido;

public interface PedidoRepository extends BaseRepository<Pedido, Long> {

	@Query(value = "select x from Pedido x where x.fechaPedido = ?1 and x.clienteCodigo = ?2 and x.estado = ?3", 
			countQuery = "select count(x) from Pedido x where x.fechaPedido = ?1")
	Page<Pedido> buscarPedido(String fechaPedido, Pageable pageable);
	
	@Query(value = "select x from Pedido x where x.fechaPedido = ?1 and x.clienteCodigo = ?2 and x.estado = ?3", 
			countQuery = "select count(x) from Pedido x where x.fechaPedido = ?1 and x.clienteCodigo = ?2")
	Page<Pedido> buscarPedido(String fechaPedido,
			String codigoCliente, Pageable pageable);
		
	@Query(value = "select x from Pedido x where x.fechaPedido = ?1 and x.clienteCodigo = ?2 and x.estado = ?3", 
			countQuery = "select count(x) from Pedido x where x.fechaPedido = ?1 and x.clienteCodigo = ?2 and x.estado = ?3")
	Page<Pedido> buscarPedido(String fechaPedido,
			String codigoCliente,Integer estado, Pageable pageable);
	

}